//
// Created by jwhww on 25-9-27.
//

#ifndef KEY_H
#define KEY_H

//按键位号
// #define KEYPIN1         (P11_3)
// // #define KEYPIN2         (P10_1)
// // #define KEYPIN3         (P10_3)
// // #define KEYPIN4         (P20_6)
// #define KEY_ENCODER     (P00_8)

//按键状态
typedef enum {
    KEY_CHECK,
    KEY_COMFIRM,
    KEY_UNPRESSED
}keyStateEnum;
//按键结构体
typedef struct{
    keyStateEnum state;
    uint8_t flag;
}keyStruct;

extern keyStruct key;            //逐飞电路板右侧4个按键

//按键检查
void Key_Check(int num, keyStruct *key_instance, GPIO_TypeDef *GPIO_port, uint16_t key_gpio_pin);
void Key_Check_All(void);       //进行所有按键检查
//按键对应程序
void Key_1_Job (void);  //按键对应的程序写在这里
void Key_2_Job (void);
void Key_3_Job (void);
void Key_4_Job (void);
void Key_Encoder_Job(void);

#endif //KEY_H
